/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package vista;

import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JDialog;
import javax.swing.table.DefaultTableModel;
import negocio.ExcepcionValidacion;
import negocio.ServiciosNegocio;
import modelo.MarcaProducto;

/**
 *
 * @author Aguero
 */
public class ControladorMarcas implements ControladorGeneral{

    private Marcas ventanaMarcas;
    private AMMarca amMarca;
    ServiciosNegocio servicios;


     public ControladorMarcas(ServiciosNegocio servicios) {
        this.servicios = servicios;
    }


    public void crearVentanaLista(java.awt.Frame padre, boolean modal){

        ventanaMarcas=new Marcas(padre,modal);

    }

    public void crearVentanaAM(javax.swing.JDialog padre, boolean modal){

        amMarca=new AMMarca(padre,modal);

    }

    public void actualizarTabla(javax.swing.JDialog ventana) {
       ventanaMarcas = (Marcas) ventana;
       List<MarcaProducto> marcaProducto =(List<MarcaProducto>) servicios.listar();
       DefaultTableModel modeloTabla = ventanaMarcas.getModeloTabla();
       modeloTabla.setRowCount(0);
       for (MarcaProducto marcas : marcaProducto )
       {
           Object[] fila = { marcas.getId(), marcas.getNombre()}; 
           modeloTabla.addRow(fila);
       }
    }

   

    

    public void crearVentanaA(JDialog padre, boolean modal) {
        amMarca = new AMMarca(padre, modal);
        amMarca.setControlador(this);

    }

    public void crearVentanaM(JDialog padre, ArrayList<Object> datos, boolean modal) {
        amMarca = new AMMarca(padre, datos, modal);
        amMarca.setControlador(this);
    }

    public void nuevo(ArrayList<Object> datos) {
        try {
            servicios.alta(datos);
        } catch (ExcepcionValidacion ex) {
            Logger.getLogger(ControladorMarcas.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void modificar(ArrayList<Object> datos) {
        try {
            servicios.modificacion(datos);
        } catch (ExcepcionValidacion ex) {
            Logger.getLogger(ControladorMarcas.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void borrar(Long id) {
        try {
            servicios.eliminar(id);
        } catch (ExcepcionValidacion ex) {
            Logger.getLogger(ControladorMarcas.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public Long traerPorID(Long id) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
